<!DOCTYPE html>
<html lang="zh-CN">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>43大数据热点图</title>
    <style>
        .map {
            position: relative;
            width: 852px;
            height: 598px;
            margin: 0 auto;
            background: url(./images/map.jpg) no-repeat;
        }
        
        .city {
            position: absolute;
            top: 254px;
            right: 254px;
        }
        
        .zj {
            top: 425px;
            right: 198px;
        }
        
        .city .dotted {
            width: 8px;
            height: 8px;
            background-color: #09f;
            border-radius: 50%;
        }
        
        .city div[class^=hotsport] {
            /* 在父盒子内水平垂直居中。放大之后向四周发散 */
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            width: 8px;
            height: 8px;
            border-radius: 50%;
            box-shadow: 0 0 6px #009dfd;
            animation: move 2s linear infinite;
        }
        
        .map .city .hotsport2 {
            animation-delay: .4s;
        }
        
        .map .city .hotsport3 {
            animation-delay: .8s;
        }
        
        @keyframes move {
            0% {}
            75% {
                width: 40px;
                height: 40px;
                opacity: 0.8;
            }
            100% {
                width: 70px;
                height: 70px;
                opacity: 0;
            }
        }
        /* 如果用scale则阴影也会放大，效果不好 */
        
        @keyframes move2 {
            0% {}
            25% {
                transform: translate(-50%, -50%) scale(1.5);
            }
            50% {
                transform: translate(-50%, -50%) scale(2.5);
                opacity: 0.8;
            }
            75% {
                transform: translate(-50%, -50%) scale(4.5);
                opacity: 0.5;
            }
            100% {
                transform: translate(-50%, -50%) scale(6.5);
                opacity: 0;
            }
        }
    </style>
</head>

<body>
    <div class="map">
        <div class="city">
            <div class="dotted"></div>
            <div class="hotsport1"></div>
            <div class="hotsport2"></div>
            <div class="hotsport3"></div>
        </div>
        <div class="city zj">
            <div class="dotted"></div>
            <div class="hotsport1"></div>
            <div class="hotsport2"></div>
            <div class="hotsport3"></div>
        </div>

    </div>
</body>

</html>